using System;
using System.ComponentModel;
using System.Data;
using System.Runtime.Serialization;

namespace MinCultura.Sipa.DataAccess.EntidadesArtes
{
	/// <summary>
	/// A custom serializable dataset containing 
	/// </summary>
	[Serializable()]
	[DesignerCategory("code")]


	/// <summary>Class for handling datasets</summary>  
		public class EntidadNaturalezaJuridicaData : DataTable
	{
		///
		/// Constants for table and fields mapping
		///
		public const string ART_ENTIDAD_NATURALEZA_JURIDICA_TABLE = "ART_ENTIDAD_NATURALEZA_JURIDICA";

		public const string ENT_ID_FIELD = "ENT_ID";		
		public const string ENT_PERSONERIA_JURIDICA_FIELD = "ENT_PERSONERIA_JURIDICA";
		public const string ENT_OBJETO_SOCIAL_FIELD = "ENT_OBJETO_SOCIAL";
		public const string ENT_NATURALEZA_FIELD = "ENT_NATURALEZA";
		public const string ENT_ENTIDAD_CARACTER_FIELD = "ENT_ENTIDAD_CARACTER";
		public const string ENT_SINO_ENTIDAD_FIELD = "ENT_SINO_ENTIDAD";
		public const string ENT_DEPENDE_FIELD = "ENT_DEPENDE";
		public const string ENT_NIVEL_ENTIDAD_DEPENDE_FIELD = "ENT_NIVEL_ENTIDAD_DEPENDE";
		public const string ENT_OTRO_REGIMEN_FIELD = "ENT_OTRO_REGIMEN";
		public const string ENT_OTRO_SUBREGIMEN_FIELD = "ENT_OTRO_SUBREGIMEN";
		public const string ENT_SINO_ENTIDAD_DEPENDE_RED_FIELD = "ENT_SINO_ENTIDAD_DEPENDE_RED";
		public const string ENT_NOMBRE_ENTIDAD_DEPENDE_RED_FIELD = "ENT_NOMBRE_ENTIDAD_DEPENDE_RED";
		public const string ENT_CLASE_ENTIDAD_FIELD = "ENT_CLASE_ENTIDAD";
		public const string ENT_NIVEL_ENTIDAD_DEPENDE_RED_FIELD = "ENT_NIVEL_ENTIDAD_DEPENDE_RED";
		public const string CAR_ID_FIELD = "CAR_ID";


		protected EntidadNaturalezaJuridicaData(SerializationInfo info, StreamingContext context)
		{
			//
		}

		public EntidadNaturalezaJuridicaData()
		{
			BuildDataTables();
		}

		/// <summary>
		/// Creates the following datatables: Localidades
		/// </summary>
		private void BuildDataTables()
		{
			this.TableName = ART_ENTIDAD_NATURALEZA_JURIDICA_TABLE;

			Columns.Add(ENT_ID_FIELD, typeof (Decimal));
			Columns[ENT_ID_FIELD].Caption="Id Entidad";

			Columns.Add(ENT_PERSONERIA_JURIDICA_FIELD, typeof (String));
			Columns[ENT_PERSONERIA_JURIDICA_FIELD].Caption="Tiene Personeria Juridica";

			Columns.Add(ENT_OBJETO_SOCIAL_FIELD, typeof (String));
			Columns[ENT_OBJETO_SOCIAL_FIELD].Caption="Objeto Social";

			Columns.Add(ENT_NATURALEZA_FIELD, typeof (String));
			Columns[ENT_NATURALEZA_FIELD].Caption="Naturaleza Juridica";

			Columns.Add(ENT_ENTIDAD_CARACTER_FIELD, typeof (String));
			Columns[ENT_ENTIDAD_CARACTER_FIELD].Caption="Cartacter de la Entidad";

			Columns.Add(ENT_SINO_ENTIDAD_FIELD, typeof (String));
			Columns[ENT_SINO_ENTIDAD_FIELD].Caption="Depende de alguna Entidad";

			Columns.Add(ENT_DEPENDE_FIELD, typeof (String));
			Columns[ENT_DEPENDE_FIELD].Caption="Nombre Entidad Depende";

			Columns.Add(ENT_NIVEL_ENTIDAD_DEPENDE_FIELD, typeof (Int32));
			Columns[ENT_NIVEL_ENTIDAD_DEPENDE_FIELD].Caption="Nivel de la Entidad que Depende";

			Columns.Add(ENT_OTRO_REGIMEN_FIELD, typeof (String));
			Columns[ENT_OTRO_REGIMEN_FIELD].Caption="Otro Regimen";

			Columns.Add(ENT_OTRO_SUBREGIMEN_FIELD, typeof (String));
			Columns[ENT_OTRO_SUBREGIMEN_FIELD].Caption="Otro Subregimen";

			Columns.Add(ENT_SINO_ENTIDAD_DEPENDE_RED_FIELD, typeof (String));
			Columns[ENT_SINO_ENTIDAD_DEPENDE_RED_FIELD].Caption="Entidad pertenese a Alguna Red";

			Columns.Add(ENT_NOMBRE_ENTIDAD_DEPENDE_RED_FIELD, typeof (String));
			Columns[ENT_NOMBRE_ENTIDAD_DEPENDE_RED_FIELD].Caption="Nombre Red a la que pertenece";

			Columns.Add(ENT_CLASE_ENTIDAD_FIELD, typeof (Int32));
			Columns[ENT_CLASE_ENTIDAD_FIELD].Caption="Id Clase Entidad";

			Columns.Add(ENT_NIVEL_ENTIDAD_DEPENDE_RED_FIELD, typeof (Int32));
			Columns[ENT_NIVEL_ENTIDAD_DEPENDE_RED_FIELD].Caption="Id Nivel entidad que Depende";

			Columns.Add(CAR_ID_FIELD, typeof (Int32));
			Columns[CAR_ID_FIELD].Caption="Id Caracter";

			PrimaryKey = new DataColumn[] {Columns[EntidadNaturalezaJuridicaData.ENT_ID_FIELD]};
			
		}

		/// <summary>
		/// Add a new row to the table
		/// </summary>
		/// <param name="row">Dataset row
		public void addEntidadNaturalezaJuridica(DataRow row)
		{
			this.Rows.Add(row);
		}

	}

}